-
Notifications
You must be signed in to change notification settings - Fork 925
DGS-21595 Allow alternate KMS key IDs on a KEK #2018
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
🎉 All Contributor License Agreements have been signed. Ready to merge. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds support for alternate KMS key IDs on Key Encryption Keys (KEK) to provide fallback encryption/decryption capabilities. The implementation allows specifying multiple KMS key IDs that will be tried in sequence during encryption and decryption operations.
- Introduces a new
AeadWrapper
class that handles multiple KMS key IDs with fallback logic - Adds configuration support for alternate KMS key IDs via
encrypt.alternate.kms.key.ids
- Implements retry logic that attempts encryption/decryption with each available key ID
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
File | Description |
---|---|
src/confluent_kafka/schema_registry/rules/encryption/encrypt_executor.py | Implements the core functionality with AeadWrapper class and alternate KMS key ID support |
tests/schema_registry/_sync/test_avro_serdes.py | Adds synchronous test case for alternate KEK functionality |
tests/schema_registry/_async/test_avro_serdes.py | Adds asynchronous test case for alternate KEK functionality |
src/confluent_kafka/schema_registry/rules/encryption/encrypt_executor.py
Show resolved
Hide resolved
src/confluent_kafka/schema_registry/rules/encryption/encrypt_executor.py
Show resolved
Hide resolved
src/confluent_kafka/schema_registry/rules/encryption/encrypt_executor.py
Outdated
Show resolved
Hide resolved
This comment has been minimized.
This comment has been minimized.
1 similar comment
This comment has been minimized.
This comment has been minimized.
c97bb9a
to
4ac37c3
Compare
This comment has been minimized.
This comment has been minimized.
4ac37c3
to
90b65bd
Compare
This comment has been minimized.
This comment has been minimized.
90b65bd
to
431f3d5
Compare
What
Checklist
References
JIRA:
Test & Review
Open questions / Follow-ups